package cn.ly.gateway.center.domain.manage.repository;

import cn.ly.gateway.center.domain.manage.model.vo.*;


import java.util.List;

public interface IConfigManageRepository {

    List<GatewayServerVO> queryGatewayServerList();

    List<GatewayServerDetailVO> queryGatewayServerDetailList();

    /**
     * 注册网关服务的节点信息
     *
     * @param groupId
     * @param gatewayId
     * @param gatewayName
     * @param gatewayAddress
     * @param available
     * @return
     */
    boolean registerGatewayServerNode(String groupId, String gatewayId, String gatewayName, String gatewayAddress, Integer available);

    GatewayServerDetailVO queryGatewayServerDetail(String gatewayId, String gatewayAddress);

    boolean updateGatewayStatus(String gatewayId, String gatewayAddress, Integer available);

    List<String> queryGatewayDistributionSystemIdList(String gatewayId);

    List<ApplicationSystemVO> queryApplicationSystemList(List<String> systemIdList);

    List<ApplicationInterfaceVO> queryApplicationInterfaceList(String systemId);

    List<ApplicationInterfaceMethodVO> queryApplicationInterfaceMethodList(String systemId, String interfaceId);

    String queryGatewayDistribution(String systemId);

    void distributionGatewayServerNode(String groupId, String gatewayId, String systemId, String systemName);


    String queryApplicationSystemName(String systemId);
}
